1. Technical Field
The present invention relates generally to an improved data processing system and in particular to an improved data processing system for transmitting information in the form of videos. Still more particularly, the present invention relates to an improved video storage architecture for transmitting and manipulating multiple video data streams.
2. Description of the Related Art
With the advance of new compression technologies, the storing of video, audio, and user data into disk storage devices has become feasible. In addition, improvements in data transmission technologies provide sufficient bandwidth for multimedia traffic. As a result, applications such as video-on-demand (VOD), video editing, interactive games, home shopping, and other multimedia applications have been developed. Video-on-demand services may include, for example, movies, sporting events, textural information, educational programs, and arts programs.
A xe2x80x9cmultimedia applicationxe2x80x9d is an application that uses different forms of communication as one application. For example, information can be displayed on a data processing system using voice, text, and video simultaneously. A multimedia data processing system allows text, graphics, and audio to be displayed simultaneously. These types of multimedia applications are referred to collectively as xe2x80x9cvideoxe2x80x9d, and it should be understood that a video generally includes both video and audio portions, although, in some instances, a video may only include an image portion as in information, or only in audio portion, as for example music.
Typically consumers, also called xe2x80x9cusersxe2x80x9d, would like videos of their choice to be available to them at times and locations convenient to them. It would be an advantageous if the videos could be delivered by any transmission medium, such as commercial telephone, cable, and satellite networks. The videos should be compatible with readily available display systems, such as NTSC standard televisions or personal computers.
Furthermore, consumers also would like to have real-time interactive control of the VOD similar to video cassette recorder (VCR) type commands that presently available VCRs provide. These types of commands are called xe2x80x9cvirtual VCR commandsxe2x80x9dxe2x80x94fast forwarding, pausing, or replaying portions of the video at will. Furthermore, video in the form of home shopping and video games require a much higher level of interaction and control between the video and the consumer than a video in the form of a movie. In addition, the data processing system used to provide video services should be scalable at a reasonable cost to maximize the availability of the service to large populations of consumers.
Such applications demand a convergence of video, computing, and telecommunication technologies to meet demands of consumers. The convergence of these technologies, necessary to meet the control and delivery of video, renders obsolete the standard architectures employed in both the computing and telephony industries. For example, video server 10 in FIG. 1 illustrates a conventional data processing system architecture employed to deliver video to consumers. Video server 10 includes a bus 12 connected to a processor 14 and a memory 16. Video server 10 also includes disk arrays 18. Disk arrays 18 are connected to disk array controllers 20, which are in turn connected to system bus 12 via host adapters (HA) 22. Additionally, video server 10 contains network adapters (NA) 24, each having two connections, one connection to system bus 12 and another connection to a communications network (not shown). Disk arrays 18 contain compressed video data containing videos. Videos located on disk arrays 18 are sent to consumers located across a network by moving the video data from disk arrays 18 to system bus 12. From this location, the video data is moved to the network via network adapters 24. Multiple streams of video data also called xe2x80x9cvideo data streamsxe2x80x9d are sent to consumers across the network from video server 10.
As the number of consumers requesting videos on the communications network increase, the amount of video storage needed increases, as does the amount of traffic on system bus 12, resulting from the movement of video data to system bus 12 and then to the communications network. In effect, a mismatch can occur in the connection of computer hardware and software to the communications network. System bus 12 in video server becomes a bottle neck for the transfer of video data from disk arrays 18 to the communications network. In addition to increased amounts of video data being transferred, the amount of traffic increases on system bus 12 because of commands received from various consumers. In particular, commands requesting new videos and commands representing VCR-like commands, also called xe2x80x9cvirtual VCR commandsxe2x80x9d, for controlling the videos are received by video server 10 and processed by processor 14.
To improve the performance of video server 10, current computer technology requires implementation of high performance hardware with corresponding high cost. Typically, very high performance internal input/output (I/O) system buses are required to carry video traffic in video server 10 for any significant number of users. In addition, most very high performance system buses are vender unique and expensive. For a small number of users, the cost per video stream containing a video is not feasible.
Therefore, it would be advantageous to have an improved method and apparatus for delivering videos to users that overcome the problems described above.
The present invention provides an apparatus for storing and playing videos. The apparatus includes a storage device containing videos for playback on a user system located on a communications network. The apparatus includes a system connection to a data processing system and a network connection to the communications network. The apparatus includes a transfer means for transferring the video from the storage device to the network using the second network connection, wherein the video is directly transferred from the apparatus to the communications network.
In addition, the presently claimed invention includes a means for receiving commands from the network. These commands are processed in the apparatus and are used to control the video and how it is transferred from the storage device to the communications network.
In particular, data representing the video may be transferred from the storage device to the network connection by transferring the data from the storage device to a bus connected to the storage device and then from the bus to a buffer connected to the bus. The buffer also includes a connection to the network connection, and data is transferred directly from the buffer to the network connection.
The above as well as additional objectives, features, and advantages of the present invention will become apparent in the following detailed written description.